﻿
Partial Class Interfaz_frmSistemaPerfilesUsuario
    Inherits System.Web.UI.Page
    Dim CL As New Logica.ModuloSistema.ControladorLogica

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        CL = Logica.ModuloSistema.ControladorLogica.getInstance
        If CL.visibilidadesFormsInternos("Sistema", Session("user").ToString) = False Then
            Response.Redirect("Index.aspx")
        End If
        If Not Page.IsPostBack Then
            CargarUsuarios()
        End If

    End Sub

#Region "Funciones"

    Private Sub CargarUsuarios()
        Try
            Dim query As String = ""
            Dim user As Usuario
            Dim arrayUsuarios As ArrayList
            Dim i As Integer
            arrayUsuarios = CL.ObtenerUsuario()

            For i = 0 To arrayUsuarios.Count - 1
                user = DirectCast(arrayUsuarios.Item(i), Usuario)
                Dim grupo As GrupoUsuario = DirectCast(CL.ObtenerGrupo(user.Grupo).Item(0), GrupoUsuario)
                Dim nombreGrupo As String = grupo.nombreGrupo
                Dim agregaLista As String = user.User + " (" + nombreGrupo + ")"
                Me.ListUsuarios.Items.Add(agregaLista)
            Next

        Catch ex As Exception
            Console.Write(ex.ToString)
        End Try
    End Sub

    Private Sub CargarUsuariosGrupo()
        Try
            Dim i As Integer
            Dim seleccion As String = Me.ListUsuarios.Text
            Dim nombreUsuario As String = ""
            Dim validador As Integer = 0

            If seleccion <> "" Then
                For i = 0 To seleccion.Length - 1
                    If (seleccion.Chars(i) = "(") Then
                        Exit For
                    End If
                    nombreUsuario = nombreUsuario + seleccion.Chars(i)
                Next

                For i = 0 To ListGrupoNuevo.Items.Count - 1
                    If (nombreUsuario = ListGrupoNuevo.Items(i).ToString) Then
                        Console.Write("El usuario ya ha sido ingresado al nuevo Grupo")
                        validador = 1
                    End If
                Next

                If (validador <> 1) Then
                    ListGrupoNuevo.Items.Add(nombreUsuario)
                End If
            End If

        Catch ex As Exception
            Console.Write(ex.ToString)
        End Try
    End Sub

    Private Sub QuitarUsuario()
        Me.ListGrupoNuevo.Items.Remove(ListGrupoNuevo.Text)
    End Sub

    Private Sub InsertarUsuarioGrupo()
        Try
            Dim i As Integer
            Dim nombreusuario As String = ""
            Dim _nombreGrupo As String = Me.TxTNomGrupo.Text
            Dim _accesoAdministracion As String = ""
            Dim _accesoInformes As String = ""
            Dim _accesoVistaPañol As String = ""
            Dim _accesoBodega As String = ""
            Dim _accesoIndicadores As String = ""
            Dim _accesoBusqueda As String = ""
            Dim _accesoRecursosHumanos As String = ""
            Dim _accesoPlanificacion As String = ""
            Dim _accesoContabilidad As String = ""
            Dim _accesoSistema As String = ""

            Dim _accesoSistemaGlobal As String = ""
            Dim _accesosSolicitudBodega As String = ""
            Dim _accesoSistemaPersonal As String = ""

            If Me.CheckSistemaGlobal.Checked = True Then
                _accesoSistemaGlobal = "Si"
            Else
                _accesoSistemaGlobal = "No"
            End If

            If Me.CheckSistemaPersonal.Checked = True Then
                _accesoSistemaPersonal = "Si"
            Else
                _accesoSistemaPersonal = "No"
            End If

            If Me.CheckSolicitudBodega.Checked = True Then
                _accesosSolicitudBodega = "Si"
            Else
                _accesosSolicitudBodega = "No"
            End If

            If Me.CheckAdmin.Checked = True Then
                _accesoAdministracion = "Si"
            Else
                _accesoAdministracion = "No"
            End If

            If Me.CheckBodega.Checked = True Then
                _accesoBodega = "Si"
            Else
                _accesoBodega = "No"
            End If

            If Me.CheckBusqueda.Checked = True Then
                _accesoBusqueda = "Si"
            Else
                _accesoBusqueda = "No"
            End If

            If Me.CheckContabilidad.Checked = True Then
                _accesoContabilidad = "Si"
            Else
                _accesoContabilidad = "No"
            End If

            If Me.CheckIndicadores.Checked = True Then
                _accesoIndicadores = "Si"
            Else
                _accesoIndicadores = "No"
            End If

            If Me.CheckInformes.Checked = True Then
                _accesoInformes = "Si"
            Else
                _accesoInformes = "No"
            End If

            If Me.CheckPlanificacion.Checked = True Then
                _accesoPlanificacion = "Si"
            Else
                _accesoPlanificacion = "No"
            End If

            If Me.CheckRRHH.Checked = True Then
                _accesoRecursosHumanos = "Si"
            Else
                _accesoRecursosHumanos = "No"
            End If

            If Me.CheckSistema.Checked = True Then
                _accesoSistema = "Si"
            Else
                _accesoSistema = "No"
            End If

            If Me.CheckVistaPañol.Checked = True Then
                _accesoVistaPañol = "Si"
            Else
                _accesoVistaPañol = "No"
            End If

            Dim nuevoGrupo As New GrupoUsuario("", _nombreGrupo, _accesoAdministracion, _accesoBusqueda, _accesoInformes, _accesoVistaPañol, _accesoBodega, _
                                                _accesoIndicadores, _accesoRecursosHumanos, _accesoPlanificacion, _accesoContabilidad, _accesoSistema, _accesoSistemaGlobal, _
                                                _accesosSolicitudBodega, _accesoSistemaPersonal)

            CL.insertarGrupo(nuevoGrupo)

            For i = 0 To Me.ListGrupoNuevo.Items.Count - 1
                nombreusuario = Me.ListGrupoNuevo.Items(i).ToString.Substring(0, Me.ListGrupoNuevo.Items(i).ToString.Length - 1)
                CL.ActualizarUsuario(nombreusuario)
            Next
            clean()
        Catch ex As Exception
            Console.Write(ex.ToString)
        End Try 
    End Sub

    Private Sub clean()
        Me.TxTNomGrupo.Text = ""
        Me.CheckAdmin.Checked = False
        Me.CheckBodega.Checked = False
        Me.CheckBusqueda.Checked = False
        Me.CheckContabilidad.Checked = False
        Me.CheckIndicadores.Checked = False
        Me.CheckInformes.Checked = False
        Me.CheckPlanificacion.Checked = False
        Me.CheckRRHH.Checked = False
        Me.CheckSistema.Checked = False
        Me.CheckVistaPañol.Checked = False
        Me.ListGrupoNuevo.Items.Clear()
    End Sub

#End Region

#Region "Botones"

    Protected Sub BtbAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtbAdd.Click
        CargarUsuariosGrupo()
    End Sub

    Protected Sub BtnDeleted_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnDeleted.Click
        QuitarUsuario()
    End Sub

    Protected Sub BtnIngresar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnIngresar.Click
        Me.InsertarUsuarioGrupo()
        Console.Write("El grupo y los usuarios han sido insertado exitosamente")
        Me.ListUsuarios.Items.Clear()
        CargarUsuarios()

    End Sub


#End Region

   
   
    
End Class
